﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QuanCafe.QuanCafe_BUS_WebService;
using System.IO;
using System.Threading;

namespace QuanCafe
{
    public partial class frmNTU_CapNhatNhom : Form
    {
        #region Khai báo các biến

        // khai báo biến servie
        QuanCafe_BUS_WebServiceSoapClient ws = new QuanCafe_BUS_WebServiceSoapClient();

        // tạo biến để lấy tên ảnh
        private string _tenanh;

        // tạo biến để kiểm tra xem mã có thay đổi ko
        private bool _maThayDoi = false;

        #endregion


        #region Các xử lý ban đầu

        public frmNTU_CapNhatNhom(string linkanh, string manhom, string tenhom, string thongtin)
        {
            InitializeComponent();
            // gán các giá trị
            ptbAnhDaiDien.ImageLocation = linkanh;
            txtMaNhom.Text = manhom;
            txtTenNhom.Text = tenhom;
            rtbThongTin.Text = thongtin;
        }

        private void ptbAnhDaiDien_LoadProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            probAnhDaiDien.Visible = true;
        }

        private void ptbAnhDaiDien_LoadCompleted(object sender, AsyncCompletedEventArgs e)
        {
            probAnhDaiDien.Visible = false;
        }

        #endregion

       
        #region Các xử lý chính

        private void btnChonAnh_Click(object sender, EventArgs e)
        {
            openFileDialog1.Title = "Open File";
            openFileDialog1.Filter = "Image Files(*.bmp;*.jpg;*.gif;*.png;*.ico)| (*.bmp;*.jpg;*.gif;*.png;*.ico)|All files (*.*)|*.*";
            openFileDialog1.FileName = "";

            try
            {
                openFileDialog1.InitialDirectory = "C:\\Temp";
            }
            catch
            {
                // skip it 
            }

            openFileDialog1.ShowDialog();

            if (openFileDialog1.FileName == "") // nếu người ta ko chọn
            {
                return;
            }
            else
            {
                // để đường dẫn lên textbox
                txtAnhDaiDien.Text = openFileDialog1.FileName;
                // sau dó hi?n ?nh lên
                ptbAnhDaiDien.ImageLocation = openFileDialog1.FileName;
                // lấy ra tên ảnh
                _tenanh = Path.GetFileName(openFileDialog1.FileName);
            }
        }

        private void btnDongY_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtAnhDaiDien.Text != string.Empty) // nếu có thay đổi ảnh thì cập nhật ảnh
                {
                    // kiểm tra tên ảnh có trùng với trên server chưa
                    if (txtAnhDaiDien.Text == Path.GetFileName(ptbAnhDaiDien.ImageLocation))
                    {
                        // xuất thông báo không up dc
                        MessageBox.Show("Tên ảnh đã bị trùng trên server, vui lòng chọn với tên khác!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    // up ảnh lên
                    // gọi thread
                    Thread thread_uploadAnh = new Thread(uploadAnhdaidien);
                    thread_uploadAnh.SetApartmentState(ApartmentState.STA);
                    thread_uploadAnh.Start();
                    // gọi hàm cập nhật ảnh đại diện
                    ws.NTU_CapNhatAnhDaiDien(txtMaNhom.Text, _tenanh);
                }

                // sau đó, up lên server
                bool flag = ws.NTU_CapNhatThongTinNhom(txtMaNhom.Text, txtTenNhom.Text, rtbThongTin.Text);
                if (flag == true) // thêm thành công
                {
                    MessageBox.Show("Nhóm Thức uống được thêm thành công!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);

                }
                else
                {
                    MessageBox.Show("Thêm nhóm thức uống thất bại!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);

                }
            }
            catch (Exception x)
            {
                MessageBox.Show("Xảy ra lỗi: " + x);
            }
        }

        private void btnHuyBo_Click(object sender, EventArgs e)
        {
            this.Close();
        }


        #endregion

        #region Các xử lý liên quan đến thread

        // upload ảnh lên
        public void uploadAnhdaidien()
        {
            ws.Image_UploadNhomThucUong(txtAnhDaiDien.Text);
        }

        #endregion

       


    }
}
